package com.xrf;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MonitoringSystem {
    private Long turnOnMonitoring;
    private Long closeTheMonitoring;
    private Double saveVideoFileAs;
    private Double time;
    private String cameraSelection;
    private String position;
    private String cameraSelection2; // Renamed to avoid duplicate
    private Long submitTo;
    private String screenLayoutSelection;
    private Double openFile;
    private Long broadcast;
    private Long suspend;
    private String cease;
    private Double fastPut;
    private String slowDown;
    private Double singleStepForward;
    private Long frameFastBack;
    private String capture;
    private String moreMultiFunctional;

    private static List<MonitoringSystem> list = new ArrayList<>();
    private static Scanner scanner = new Scanner(System.in);

    public MonitoringSystem() {}

    public MonitoringSystem(Long turnOnMonitoring, Long closeTheMonitoring, Double saveVideoFileAs, 
                           Double time, String cameraSelection, String position, String cameraSelection2,
                           Long submitTo, String screenLayoutSelection, Double openFile, Long broadcast,
                           Long suspend, String cease, Double fastPut, String slowDown, Double singleStepForward,
                           Long frameFastBack, String capture, String moreMultiFunctional) {
        this.turnOnMonitoring = turnOnMonitoring;
        this.closeTheMonitoring = closeTheMonitoring;
        this.saveVideoFileAs = saveVideoFileAs;
        this.time = time;
        this.cameraSelection = cameraSelection;
        this.position = position;
        this.cameraSelection2 = cameraSelection2;
        this.submitTo = submitTo;
        this.screenLayoutSelection = screenLayoutSelection;
        this.openFile = openFile;
        this.broadcast = broadcast;
        this.suspend = suspend;
        this.cease = cease;
        this.fastPut = fastPut;
        this.slowDown = slowDown;
        this.singleStepForward = singleStepForward;
        this.frameFastBack = frameFastBack;
        this.capture = capture;
        this.moreMultiFunctional = moreMultiFunctional;
    }

    // Getter and Setter methods
    public Long getTurnOnMonitoring() { return turnOnMonitoring; }
    public void setTurnOnMonitoring(Long turnOnMonitoring) { this.turnOnMonitoring = turnOnMonitoring; }
    public Long getCloseTheMonitoring() { return closeTheMonitoring; }
    public void setCloseTheMonitoring(Long closeTheMonitoring) { this.closeTheMonitoring = closeTheMonitoring; }
    public Double getSaveVideoFileAs() { return saveVideoFileAs; }
    public void setSaveVideoFileAs(Double saveVideoFileAs) { this.saveVideoFileAs = saveVideoFileAs; }
    public Double getTime() { return time; }
    public void setTime(Double time) { this.time = time; }
    public String getCameraSelection() { return cameraSelection; }
    public void setCameraSelection(String cameraSelection) { this.cameraSelection = cameraSelection; }
    public String getPosition() { return position; }
    public void setPosition(String position) { this.position = position; }
    public String getCameraSelection2() { return cameraSelection2; }
    public void setCameraSelection2(String cameraSelection2) { this.cameraSelection2 = cameraSelection2; }
    public Long getSubmitTo() { return submitTo; }
    public void setSubmitTo(Long submitTo) { this.submitTo = submitTo; }
    public String getScreenLayoutSelection() { return screenLayoutSelection; }
    public void setScreenLayoutSelection(String screenLayoutSelection) { this.screenLayoutSelection = screenLayoutSelection; }
    public Double getOpenFile() { return openFile; }
    public void setOpenFile(Double openFile) { this.openFile = openFile; }
    public Long getBroadcast() { return broadcast; }
    public void setBroadcast(Long broadcast) { this.broadcast = broadcast; }
    public Long getSuspend() { return suspend; }
    public void setSuspend(Long suspend) { this.suspend = suspend; }
    public String getCease() { return cease; }
    public void setCease(String cease) { this.cease = cease; }
    public Double getFastPut() { return fastPut; }
    public void setFastPut(Double fastPut) { this.fastPut = fastPut; }
    public String getSlowDown() { return slowDown; }
    public void setSlowDown(String slowDown) { this.slowDown = slowDown; }
    public Double getSingleStepForward() { return singleStepForward; }
    public void setSingleStepForward(Double singleStepForward) { this.singleStepForward = singleStepForward; }
    public Long getFrameFastBack() { return frameFastBack; }
    public void setFrameFastBack(Long frameFastBack) { this.frameFastBack = frameFastBack; }
    public String getCapture() { return capture; }
    public void setCapture(String capture) { this.capture = capture; }
    public String getMoreMultiFunctional() { return moreMultiFunctional; }
    public void setMoreMultiFunctional(String moreMultiFunctional) { this.moreMultiFunctional = moreMultiFunctional; }

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("开启监控:").append(turnOnMonitoring).append("\t");
        builder.append("关闭监控:").append(closeTheMonitoring).append("\t");
        builder.append("录像文件另存为:").append(saveVideoFileAs).append("\t");
        builder.append("时间:").append(time).append("\t");
        builder.append("摄像头选择:").append(cameraSelection).append("\t");
        builder.append("位置:").append(position).append("\t");
        builder.append("摄像头选择:").append(cameraSelection2).append("\t");
        builder.append("提交:").append(submitTo).append("\t");
        builder.append("画面布局选择:").append(screenLayoutSelection).append("\t");
        builder.append("打开文件:").append(openFile).append("\t");
        builder.append("播放:").append(broadcast).append("\t");
        builder.append("暂停:").append(suspend).append("\t");
        builder.append("停止:").append(cease).append("\t");
        builder.append("快放:").append(fastPut).append("\t");
        builder.append("慢放:").append(slowDown).append("\t");
        builder.append("单步向前:").append(singleStepForward).append("\t");
        builder.append("帧快退:").append(frameFastBack).append("\t");
        builder.append("抓拍:").append(capture).append("\t");
        builder.append("更多功能:").append(moreMultiFunctional).append("\t");
        return builder.toString();
    }
}